In the normal course of the use of a mobile application, a user may find that an application has functionality that is appropriate to the tasks at hand and that it also has functions that are problematic to one or more needs of the user or his/her environment. An application that is excellent for doing one tasks so burdens or exposes information, data or a secondary task, through its normal operation that it unfortunately cannot be used to perform the desired task.
The programmer of a typical mobile software application may purposefully or erroneously introduce software logic that could embody a behavior considered to be undesirable by the owner of the mobile device executing the software application, or another related third-party such as an employer of the owner of the mobile device. An example of undesirable behavior would be to upload and disseminate the mobile device owner's personal information (stored on the mobile device) to unauthorized websites, causing a privacy concern. Another example of undesirable behavior would be an application that downloads data deemed to be confidential or sensitive by a third-party (such as a corporation), and then storing that sensitive data to a persistent storage medium, without proper security controls such as encryption. Other examples of unexpected and unwanted consequences are well known to persons having ordinary skill in the art.
In such cases the application might be abandoned by the user as too much trouble to use. Further, the prior answer to such situations often included an attempt to rewrite the application software so that the application would act in the manner desired and limit undesired aspects. Such attempts have led to applications having unexpected functionality, being dysfunctional or “buggy”, and raising accusations of infringement or license violations.
It will be understood then, that while available applications can provide useful functionality, the addition of unexpected consequences in the package that makes up the software can cause such applications to become more harmful than useful. It would therefore be desirable to be able to modify the environment in which the desired but problematic application resides so as to allow it to function in the ways desired; shut down functions and actions that are undesirable all while maintaining the integrity of the application so as not to cause additional unexpected results or violate or infringe intellectual property rights and licenses therein. In such an environment the application could function either unaware of the change in its behavior or aware that its actions have changed without consequence to the application and without crossing boundaries of intellectual property ownership and licensing oversteps.
Other objects and advantages of the present invention will become apparent as the description proceeds.